package com.yunxin.core.application.command.user;

import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.NotNull;
import lombok.Data;

import java.io.Serializable;

/**
 * @author zero°
 * @since 2023-06-02
 */
@Data
public class UserAuthCommand implements Serializable {

    /**
     * 手机号 邮箱 用户名或第三方应用的唯一标识
     */
    @NotBlank(message = "授权唯一标识不能为空")
    private String identifier;
    /**
     * 授权类型 1.手机号 2.微信
     */
    @NotNull(message = "授权类型不能为空")
    private Integer authType;
    /**
     * 授权主体
     */
    private String authSubject;
    /**
     * 推广渠道code
     */
    @NotBlank(message = "推广渠道code不能为空")
    private String channelPromotionCode;
    /**
     * 注册城市
     */
    @NotBlank(message = "注册城市不能为空")
    private String city;
    /**
     * 访问者id
     */
    @NotBlank(message = "访问者id不能为空")
    private String visitorId;

    /**
     * 来源 h5/app/wechat
     */
    @NotBlank(message = "来源不能为空")
    private String source;

}
